package com.sne.monitor.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.sne.monitor.entity.MonitorTimeTask;
import org.quartz.SchedulerException;

import java.util.List;

/**
 * 定时任务service
 * @author fanghh
 * @date 2020/12/7
 */
public interface IMonitorTimeTaskService extends IService<MonitorTimeTask> {

    /**
     * 分页查询
     * @param page 分页参数
     * @param timeTask 查询参数
     * @return Page
     */
    Page findPage(Page page, MonitorTimeTask timeTask);

    /**
     * 新增定时任务
     * @param timeTask 任务
     * @return boolean
     */
    boolean saveTask(MonitorTimeTask timeTask);

    /**
     * 更新定时任务
     * @param timeTask 任务
     * @return boolean
     */
    boolean updateTask(MonitorTimeTask timeTask);

    /**
     * 删除定时任务
     * @param id 任务id
     * @return boolean
     */
    boolean deleteById(Long id);

    /**
     * 批量删除定时任务
     * @param ids 任务id
     * @return boolean
     */
    boolean deleteByIds(List<Long> ids);

    /**
     * 改变定时任务状态
     * @param task 定时任务
     * @return boolean
     */
    boolean changeState(MonitorTimeTask task);

    /**
     * 执行定时任务
     * @param id 任务id
     * @return boolean
     */
    boolean run(Long id);
}
